/* 
 * Author: Vassilis
 */

#ifndef _TILESET_H
#define	_TILESET_H

#include <string>
#include "sdl/Texture.h" 
#include "Resource.h"


namespace sdl
{
class Image;
}

class Tileset
{
private:
    Resource<gl::Texture> *m_tiles;
    int m_firstGid;

public:
    Tileset();
    Tileset(const Tileset &toCopy);
    ~Tileset();

    bool Open(const std::string &path,const std::string& file,int fgid, unsigned tilesWidth);
    int GetFirstGid() const;
    unsigned GetTotalColumns(int tilesWidth) const;
    const gl::Texture *GetTexture() const;
    Resource<gl::Texture> *GetResource() const;

    Tileset &operator = (const Tileset &toAssign);
};

#endif	/* _TILESET_H */

